package com.yuandengta.yomall.member.config;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@Configuration
//开启事务
@EnableTransactionManagement
@MapperScan("com.yuandengta.yomall.member.dao")
public class MybatisPlusConf {

    /**
     * 引入分页插件
     *
     * @return 分页插件拦截器实例
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new
                PaginationInterceptor();
//        设置请求的页面大于最大页后操作，true调回到首页，false 继续请求 默认false
        paginationInterceptor.setOverflow(true);
//        设置最大单页限制数量，默认 500 条，-1 不受限制
        paginationInterceptor.setLimit(100);
//        开启 count 的 join 优化，只针对部分 left join
        paginationInterceptor.setCountSqlParser(new
                JsqlParserCountOptimize(true));
        return paginationInterceptor;
    }

}
